package com.sunlee.admin.api.module.sys.dao;

import com.sunlee.admin.api.module.sys.entity.SysRoleDataScopeEntity;
import com.sunlee.common.core.dao.BaseDao;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 角色数据权限
 *
 * @author sunlee
 */
@Mapper
public interface SysRoleDataScopeDao extends BaseDao<SysRoleDataScopeEntity> {

    /**
     * 根据角色ID，获取部门ID列表
     *
     * @param roleId 角色ID
     * @return 部门ID列表
     */
    List<Long> getDeptIdList(Long roleId);

    /**
     * 获取用户ID的部门数据权限列表
     *
     * @param userId 用户ID
     * @return 部门数据权限列表
     */
    List<Long> getDataScopeList(Long userId);

    /**
     * 根据角色id，删除角色数据权限关系
     *
     * @param roleIds 角色ids
     */
    void deleteByRoleIds(Long[] roleIds);
}